A Case Study in Extracting the Runtime Architecture of an Object-Oriented System

نویسندگان

  • Marwan Abi-Antoun
  • Zeyad Hailat
چکیده

Many legacy systems benefit from having an up-to-date documented runtime architecture. But it is hard to statically extract a sound hierarchal runtime architecture from a legacy object-oriented system that is written in a general-purpose programming language and that follows common design idioms, so many have preferred dynamic analyses. Abi-Antoun and Aldrich recently developed a static analysis to extract runtime architectures from legacy object-oriented programs written in a mainstream language. The approach relies on adding annotations to the code, and statically extracts a hierarchical object graph from the annotated code. The annotations implement a type system, so a typechecker can check that the annotations are consistent with each other and with the code. We present a case study to evaluate the method and the tools on a 36-KLOC system that is in wide use and is actively evolving. We developed a tool to reduce the annotation burden by generating the initial set of annotations. Then, we used a typechecker to check the annotations, and manually fixed the annotation warnings. We then extracted a hierarchical object graph, which we refined on our own, before showing it to the system maintainer. The maintainer was able to match the extracted object graph to his mental model of the system and gave us suggestions for further refinement. We incorporated the maintainer’s feedback by slightly adjusting the annotations and using additional features in the extraction tool, to make the extracted diagram convey the maintainer’s design intent.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Availability evaluation of Software architecture of object oriented Style using coloured Petri nets

Software architecture is one of the most fundamental products in the process of software development in the areas of behavioral or non- behavioral features like availability or transformability change. There are different ways to evaluate software architecture one of which is the creation of application model. An executable model of software architecture is an official description of architectu...

متن کامل

On Attributes of Objects in Object-Oriented Software Analysis

One of the modern paradigms to develop a system is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles. There is a sequence of activities to develop an analysis model. In the first step, we work in developing an initial use case model. Then in the second step, they identify a number of concepts and build a glossary of partic...

متن کامل

An Autonomic Service Oriented Architecture in Computational Engineering Framework

Service Oriented Architecture (SOA) technology enables composition of large and complex computational units out of the available atomic services. Implementation of SOA brings about challenges which include service discovery, service interaction, service composition, robustness, quality of service, security, etc. These challenges are mainly due to the dynamic nature of SOA. SOAmay often need to ...

متن کامل

An Autonomic Service Oriented Architecture in Computational Engineering Framework

Service Oriented Architecture (SOA) technology enables composition of large and complex computational units out of the available atomic services. Implementation of SOA brings about challenges which include service discovery, service interaction, service composition, robustness, quality of service, security, etc. These challenges are mainly due to the dynamic nature of SOA. SOAmay often need to ...

متن کامل

Information Architecture of Research Institutes’ Website, Case Study: Iranian Research Institute for Information Science and Technology’s Website

Purpose: As mission-oriented organizations, research institutes have the task of answering community questions in specialized areas, and should therefore be able to effectively present their outputs to their target users. Achieving such a goal requires the proper use of information architecture principles to properly organize the information platform in which the research institutes interact wi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011